<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
    <title>Introdu&ccedil;&atilde;o - Zend Framework Manual</title>

    <link href="../css/shCore.css" rel="stylesheet" type="text/css" />
    <link href="../css/shThemeDefault.css" rel="stylesheet" type="text/css" />
    <link href="../css/styles.css" media="all" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>Zend Framework</h1>
<h2>Programmer's Reference Guide</h2>
<ul>
    <li><a href="../en/learning.layout.intro.html">Inglês (English)</a></li>
    <li><a href="../pt-br/learning.layout.intro.html">Português Brasileiro (Brazilian Portuguese)</a></li>
</ul>
<table width="100%">
    <tr valign="top">
        <td width="85%">
            <table width="100%">
                <tr>
                    <td width="25%" style="text-align: left;">
                    <a href="learning.layout.html">Iniciando com o Zend_Layout</a>
                    </td>

                    <td width="50%" style="text-align: center;">
                        <div class="up"><span class="up"><a href="learning.layout.html">Iniciando com o Zend_Layout</a></span><br />
                        <span class="home"><a href="manual.html">Guia de Refer&ecirc;ncia do Programador</a></span></div>
                    </td>

                    <td width="25%" style="text-align: right;">
                        <div class="next" style="text-align: right; float: right;"><a href="learning.layout.usage.html">Usando Zend_Layout</a></div>
                    </td>
                </tr>
            </table>
<hr />
<div id="learning.layout.intro" class="section"><div class="info"><h1 class="title">Introdução</h1></div>
    

    <p class="para">
        Na construção de um website com camadas <acronym class="acronym">MVC</acronym> usando Zendo Framework,
        os scripts de visualização serão tipicamente apenas um fragmento de <acronym class="acronym">HTML</acronym>
        pertinente à ação solicitada. Por exemplo, se você tivesse a ação
        &quot;<var class="filename">/user/list</var>&quot;, você poderia criar um script de vizualização que
        percorresse os usuários e apresentasse uma lista desordenada:
    </p>

    <pre class="programlisting brush: php">
&lt;h2&gt;Usuários&lt;/h2&gt;
&lt;ul&gt;
    &lt;?php if (!count($this-&gt;users)): ?&gt;
    &lt;li&gt;Nenhum usuário encontrado&lt;/li&gt;
    &lt;?php else: ?&gt;
    &lt;?php foreach ($this-&gt;users as $user): ?&gt;
    &lt;li&gt;
        &lt;?php echo $this-&gt;escape($user-&gt;fullname) ?&gt;
        (&lt;?php echo $this-&gt;escape($user-&gt;email) ?&gt;)
    &lt;/li&gt;
    &lt;?php endforeach ?&gt;
    &lt;?php endif ?&gt;
&lt;/ul&gt;
</pre>


    <p class="para">
        Uma vez que este é apenas um fragmento de <acronym class="acronym">HTML</acronym>, esta página não é válida;
        está faltando uma declaração <acronym class="acronym">DOCTYPE</acronym> e as tags de abertura de
        <acronym class="acronym">HTML</acronym> e <acronym class="acronym">BODY</acronym>. A questão é: onde elas serão criadas?
    </p>

    <p class="para">
        Nas versões anteriores do Zend Framework, desenvolvedores muitas vezes criaram scripts de
        vizualização para &quot;cabeçalho&quot; e &quot;rodapé&quot; que continham esses artefatos, e então seriam
        renderizados em cada script de vizualização. Enquanto essa metodologia funcionou, ela também
        gerou dificuldades de refatoração mais tarde, ou para criar conteúdos compostos pela chamada
        de múltiplas ações.
    </p>

    <p class="para">
        O padrão de projeto <a href="http://martinfowler.com/eaaCatalog/twoStepView.html" class="link external">&raquo; Two
        Step View</a> explica muitos dos problemas apresentados. Nesse padrão, a vizualização
        &quot;aplicação&quot; é criada primeiro, depois introduzida na visualização &quot;página&quot; e depois é
        apresentada ao cliente. A visualização página pode ser pensada como um site-modelo ou
        layout, e teria elementos em comum utilizados em várias páginas.
    </p>

    <p class="para">
        Dentro do Zend Framework, o <span class="classname">Zend_Layout</span> implementa o padrão Two Step
        View.
    </p>
</div>
        <hr />

            <table width="100%">
                <tr>
                    <td width="25%" style="text-align: left;">
                    <a href="learning.layout.html">Iniciando com o Zend_Layout</a>
                    </td>

                    <td width="50%" style="text-align: center;">
                        <div class="up"><span class="up"><a href="learning.layout.html">Iniciando com o Zend_Layout</a></span><br />
                        <span class="home"><a href="manual.html">Guia de Refer&ecirc;ncia do Programador</a></span></div>
                    </td>

                    <td width="25%" style="text-align: right;">
                        <div class="next" style="text-align: right; float: right;"><a href="learning.layout.usage.html">Usando Zend_Layout</a></div>
                    </td>
                </tr>
            </table>
</td>
        <td style="font-size: smaller;" width="15%"> <style type="text/css">
#leftbar {
	float: left;
	width: 186px;
	padding: 5px;
	font-size: smaller;
}
ul.toc {
	margin: 0px 5px 5px 5px;
	padding: 0px;
}
ul.toc li {
	font-size: 85%;
	margin: 1px 0 1px 1px;
	padding: 1px 0 1px 11px;
	list-style-type: none;
	background-repeat: no-repeat;
	background-position: center left;
}
ul.toc li.header {
	font-size: 115%;
	padding: 5px 0px 5px 11px;
	border-bottom: 1px solid #cccccc;
	margin-bottom: 5px;
}
ul.toc li.active {
	font-weight: bold;
}
ul.toc li a {
	text-decoration: none;
}
ul.toc li a:hover {
	text-decoration: underline;
}
</style>
 <ul class="toc">
  <li class="header home"><a href="manual.html">Guia de Refer&ecirc;ncia do Programador</a></li>
  <li class="header up"><a href="manual.html">Guia de Refer&ecirc;ncia do Programador</a></li>
  <li class="header up"><a href="learning.html">Conhecendo o Zend Framework</a></li>
  <li class="header up"><a href="learning.layout.html">Iniciando com o Zend_Layout</a></li>
  <li class="active"><a href="learning.layout.intro.html">Introdu&ccedil;&atilde;o</a></li>
  <li><a href="learning.layout.usage.html">Usando Zend_Layout</a></li>
  <li><a href="learning.layout.conclusions.html">Zend_Layout: Conclus&otilde;es</a></li>
 </ul>
 </td>
    </tr>
</table>

<script type="text/javascript" src="../js/shCore.js"></script>
<script type="text/javascript" src="../js/shAutoloader.js"></script>
<script type="text/javascript" src="../js/main.js"></script>

</body>
</html>